Computer-aided design (CAD) uses computer systems to aid in the creation, modification, analysis, or optimization for design of electrical circuits. CAD software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing. CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. Exemplary CAD programs for electrical circuit schematic design are provided by Cadence, OrCAD, and the like. These CAD programs enable the design, manufacture, and troubleshoot of electrical circuit schematics, such as Printed Circuit Boards (PCBs) with various components included therein such as Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuit (ASIC), Digital Signal Processors (DSPs), Central Processing Units (CPUs), Network Processing Units (NPUs), and the like (collectively “devices”). These devices are represented as symbols in the electrical schematics in the output of the computer program. Each device has associated pins for connectivity thereto which are logically represented in the computer program with pin numbers and device-specific functional pin names.
Through a symbol library, the designer can select and use any of the devices in an electrical circuit design, and engineers and manufacturing personnel can use the output of the electrical circuit design for troubleshooting and the like. As devices proliferate, there can be a vast number of devices available through the computer program, and these are managed by the symbol library. There are generally two conventional techniques for managing symbols in the symbol library, namely a first technique of creating a customized symbol in the symbol library for each unique pin symbol assignment and a second technique of creating a customized symbol in the symbol library with pins grouped according to the pin number. The disadvantage of the first technique is that each time the electrical signal to pin assignment changes, a new library symbol is created which can result in a great deal of time-consuming library work and makes the management of symbols very difficult, inefficient, and costly. The disadvantage of the second technique is that because the electrical signal assignments are often based upon physical device geometries, signals with similar functions tend to be scattered amongst the symbol making it difficult to understand the resulting schematic thus enabling errors to be inadvertently introduced into the design.
Thus, it would be advantageous for CAD software programs to support dynamic symbols which eliminate the aforementioned limitations in both of the techniques above.